package framework;

import java.util.List;

import org.openems.entity.Entity;
import org.openems.entity.Key;

public interface AccessorHelper {

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getDoubleValue(org.openems.entity.Key)
	 */
	public abstract Double getDoubleValue(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#setDoubleValue(org.openems.entity.Key, java.lang.Double)
	 */
	public abstract void setDoubleValue(Key key, Double value);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getAccessor()
	 */
	public abstract Accessor getAccessor();

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getSelectedItem(org.openems.entity.Key)
	 */
	public abstract String getSelectedItem(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#setSelectedItem(org.openems.entity.Key, java.lang.String)
	 */
	public abstract void setSelectedItem(Key key, String value);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#addChild(org.openems.entity.Key, org.openems.entity.Entity)
	 */
	public abstract void addChild(Key key, Entity child);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getKeyList(org.openems.entity.Key)
	 */
	public abstract List<Key> getKeyList(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getMarkerX(org.openems.entity.Key)
	 */
	public abstract Double getMarkerX(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getTraceValues(org.openems.entity.Key)
	 */
	public abstract Double[] getTraceValues(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getTraceXmax(org.openems.entity.Key)
	 */
	public abstract Double getTraceXmax(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#getTraceXmin(org.openems.entity.Key)
	 */
	public abstract Double getTraceXmin(Key key);

	/* (non-Javadoc)
	 * @see framework.ResolverHelper#setMarkerY(org.openems.entity.Key, java.lang.Double)
	 */
	public abstract void setMarkerY(Key key, Double yvalue);

	public abstract Double getMarkerY(Key key);

	public abstract String getMarkerText(Key key);

	public abstract void removeListItem(Key key);

}